Relatórios Dinâmicos com R Markdown

Maurício Najjar
27/06/2016

Seminário CER

Markdown como Linguagem

  • Markdown é uma LML (Lightweight Markup Language) criada em 2004 por John Gruber.
  • Feita para contemplar uma sintaxe de formatação simplificada de forma que pode ser convertida em HTML e outros formatos.
  • Idealizado para ser fácil de escrever, e mais importante, fácil de ler.
  • Sites como GitHub, Reddit, Diaspora, Stack Exchange, OpenStreetMap, and SourceForge usam variantes do Markdown para facilitar a discussão entre usuários.

Markdown

Wikipedia Ilustração da praticidade oferecida pela linguagem.

R Markdown

Formatos R Markdown

  • HTML
  • PDF
  • MS Word
  • Beamer
  • HTML5 Slides
  • Tufte handouts
  • Books
  • Dashboards
  • Websites

R Markdown

  • Assim como a linguagem Markdown, o R Markdown facilita a criação de diversos formatos de arquivo.
  • A seguir serão mostrados os passos para abrir um relatório em R Markdown e alguns formatos suportados.
  • Sendo um formato para escrever relatórios dinâmicos com o R, converte o código em R e seus resultados em apresentação de slides, PDFs, documentos em HTML, arquivos em Word e outros.

Relatório

  • Disponível e convertível entre os formatos PDF, HTML e Word.
  • Pode ser composto de texto, tabelas, equações e imagens além do uso de códigos e de saídas em R.
  • Sendo as unidades de código chamadas de chunk.

Passo 1

File > New File > R Markdown Step 1

Passo 2

Selecione a classe de saída > Selecione o tipo específico de saída. Step 2

O RStudio irá criar automaticamente um template do arquivo .Rmd (R Mardown).

Passo 3

Em seguida, escreva seu relatório usando a sintaxe do Markdown para descrever como formatar o texto ao final do relatório.

Passo 4

No início do relatório .Rmd, declare no YAML Header, o formato de saída requisitado:
YAML Header

  • output: html_document … gera … html file (web page)
  • output: pdf_document … gera … pdf document
  • output: word_document … gera … Microsof Word .docx
  • output: beamer_presentation … gera … beamer slideshow (pdf)
  • output: ioslides_presentation … gera … ioslides slideshow (html)

Knitr

  • Pacote usado para criar relatórios dinâmicos, por possibilitar o uso dos chunks.
  • Ao compilar o documento .Rmd, os códigos contidos em Chunks são rodados criando ao final um documento independente do R no formato escolhido.
## install.packages('knitr')

Chunk

Utilize a sintaxe do pacote 'knitr' para inserir o código do R no relatório. O R roda o código e inclui os resultados ao compilar o relatório.

Chunk

  • Para inserir um chunk, insira:

3 Backticks {r}

Código

3 Backticks

*Backtick = Crase

Chunk

Podendo também ser aplicado de forma simples, pode-se inserir um resultado de código em linha no meio do texto. Inline Chunk

Chunk

Exemplo 1

x=rnorm(100,0,1)
y=rnorm(100,1,1)
d=density(x)
plot(d,main="Overlapping Densities",xlim=c(-3,4.3),cex.lab=1.2,
     ylim=c(0,0.4),ylab="Density","X Axis")
polygon(d,col=rgb(1,0,0,0.4))
d2=density(y)
lines(d2)
polygon(d2,col=rgb(0,0,1,0.4))
legend("topleft",c("Group 1","Group 2"),
       col=c(rgb(1,0,0,0.4),rgb(0,0,1,0.4)),
       bty="n",lwd=3,cex=1.2)

Exemplo 1

plot of chunk unnamed-chunk-3

Exemplo 2

plot of chunk unnamed-chunk-5

Referências

Dúvidas?